<?php 
require_once("../Const.php");

  try {
  	$dataName = "pdo_db";
  	$host = host;
  	//dsn必须指明连接的是哪个数据库，不管这个数据库有没有创建
    //;dbname=$pdo_db中dbname只能指定一个已经存在的数据库
  	$dsn = "mysql:host=$host";//数据源名称或叫做 DSN，包含了请求连接到数据库的信息
  	//注意在以上 PDO 实例中我们已经指定了数据库 (myDB)。PDO 在连接过程需要设置数据库名。如果没有指定，则会抛出异常。没指定好像也没出错
// var_dump($dsn);
  	$pdo = new PDO($dsn,mysql_username,mysql_password);

  	//setAttribute设置属性
  	//设置错误抛出的方式为Exception
    $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    //对于数据库中null和空串的处理，可以设置成转换为空串PDO::NULL_TO_STRING
    $pdo -> setAttribute(PDO::ATTR_ORACLE_NULLS,PDO::NULL_NATURAL);
    
    
    $pdo -> exec("SET NAMES 'utf8'");//编码，必须设置
    $cDB = "create database if not exists $dataName default character set utf8 collate utf8_general_ci";//数据库名没有加单引号
    //使用 PDO 的最大好处是在数据库查询过程出现问题时可以使用异常类来 处理问题。如果 try{ } 代码块出现异常

    $pdo -> exec($cDB);
    //选择数据库
    $pdo -> exec("use $dataName");
    //NOT NULL - 每一行都必须含有值（不能为空），null 值是不允许的。
    //DEFAULT value - 设置默认值
    //UNSIGNED - 使用无符号数值类型，0 及正数
    //AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
    //PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值，与 AUTO_INCREMENT 一起使用。
    //每个表都应该有一个主键(本列为 "id" 列)，主键必须包含唯一的值。
    // $pdo -> exec("SET NAMES utf8");
    $cTable = "create table if not exists MyGuests (mark int unsigned auto_increment primary key,
     firstName varchar(30) not null,
     lastName varchar(30) not null,
     email varchar(50),
     reg_date timestamp
    )";
     $pdo -> exec($cTable);//执行前要先指明数据库，在dsn中
  	
    $firstName = "璐姐";
    $lastName = "佳姐";
    $email = "123.@sina.com";
    $insetSql = "insert into MyGuests (firstName,lastName,email) values ('$firstName','$lastName','$email')";
    $pdo -> exec($insetSql);
   
   //开启事务：一连串操作称为一个事务，，，原子性，要么全成功，要么全失败，，中途一条数据插入失败，则整个操作都失败，将数据库再回滚到开始状态
    // $pdo -> beginTransaction();
    // $pdo -> exec("insert into MyGuests (firstName,lastName,email) values ('隐隐约约一样','哦哦哦哦哦','31231434@qq.com')");
    // $pdo -> exec("insert into MyGuests (firstName,lastName,email) values ('亲亲亲亲亲亲','人人人人人人','31231434@qq.com')");
    // $pdo -> commit();





  	$pdo=null;//断开数据库连接
  } catch (PDOException $e) {
  	// $pdo -> rollback();
  	die("pdo连接失败".$e->getMessage());
  };

 ?>